package com.example.gitclient.model;

import java.io.File;

/**
 * Git仓库信息类
 */
public class Repository {
    private String name;
    private String path;
    private String remoteUrl;
    private String currentBranch;

    /**
     * 创建仓库信息
     * @param name 仓库名称
     * @param path 仓库路径
     */
    public Repository(String name, String path) {
        this.name = name;
        this.path = path;
    }

    /**
     * 创建仓库信息
     * @param name 仓库名称
     * @param path 仓库路径
     * @param remoteUrl 远程仓库URL
     */
    public Repository(String name, String path, String remoteUrl) {
        this.name = name;
        this.path = path;
        this.remoteUrl = remoteUrl;
    }

    /**
     * 获取仓库名称
     * @return 仓库名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置仓库名称
     * @param name 仓库名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取仓库路径
     * @return 仓库路径
     */
    public String getPath() {
        return path;
    }

    /**
     * 设置仓库路径
     * @param path 仓库路径
     */
    public void setPath(String path) {
        this.path = path;
    }

    /**
     * 获取远程仓库URL
     * @return 远程仓库URL
     */
    public String getRemoteUrl() {
        return remoteUrl;
    }

    /**
     * 设置远程仓库URL
     * @param remoteUrl 远程仓库URL
     */
    public void setRemoteUrl(String remoteUrl) {
        this.remoteUrl = remoteUrl;
    }

    /**
     * 获取当前分支
     * @return 当前分支
     */
    public String getCurrentBranch() {
        return currentBranch;
    }

    /**
     * 设置当前分支
     * @param currentBranch 当前分支
     */
    public void setCurrentBranch(String currentBranch) {
        this.currentBranch = currentBranch;
    }

    /**
     * 获取仓库目录
     * @return 仓库目录
     */
    public File getDirectory() {
        return new File(path);
    }
}